package itheima02;

import java.io.File;
import java.util.Arrays;

/*
    目录的遍历

    - public String[] list() ：获取当前目录下的所有的目录和文件的字符串的名字
        底层: 调用了getName方法

    - public File[] listFiles() ：获取当前目录下的所有的目录和文件的File对象组成File数组   ---建议使用---

    注意:
        1.不能是文件路径或者不存在的文件夹路径,否则返回null
        2.如果文件夹存在,但是里面没内容,返回[]
        3.建议,遍历之前,添加安全性判断,避免空指针异常
 */
public class Demo05FileEach {
    public static void main(String[] args) {
        File dir = new File("day10\\io\\java");//目录不存在
        File[] files = dir.listFiles();
        System.out.println(files);//null
        //存在的文件
        File f1 = new File("day10\\io\\a.txt");
        File[] files2 = f1.listFiles();
        System.out.println(files2);//null

        //文件夹存在,但是里面没内容
        File dir2 = new File("day10\\io\\ddd");
        File[] files3 = dir2.listFiles();
        System.out.println(Arrays.toString(files3));//[]
        System.out.println("-------------");

        //遍历之前,添加安全性判断,避免空指针异常
        if(files != null && files.length != 0) {
            for (File file : files) {
                System.out.println(file.getAbsolutePath());
            }
        }
    }
}
